accountingIntegrationDashboardApp.controller('maintenanceTrecIdMasterCtrl', ['$scope','$http','$log','serverDataService','commonValidationService', function($scope, $http, $log, serverDataService, commonValidationService) {


			$scope.entityName = 'trec-id-master';
            $scope.setChildScope($scope);
            $scope.renderRecordsFromServer();
			
			$scope.stores = [];
			$scope.entities = [];
			$scope.companies = [];
			$scope.segments = [];
			$scope.costCenters = [];
			$scope.geographies = [];
			$scope.elements1 = [];
			$scope.elements2 = [];
			$scope.elements3 = [];
			$scope.elements4 = [];
			$scope.elements5 = [];
			$scope.elements6 = [];
			
			
			var glElementId1 = 1;
			var glElementId2 = 2;
			var glElementId3 = 3;
			var glElementId4 = 4;
			var glElementId5 = 5;
			var glElementId6 = 6;
			
			
			$scope.loadStores = function() {
				return $scope.stores.length ? null : serverDataService
						.getEntityList('store', false).then(function(data) {
							$scope.stores = data.gridRecords;
						});
			};

			$scope.loadEntities = function() {
				return $scope.entities.length ? null : serverDataService
						.getEntityList('entity', false).then(function(data) {
							$scope.entities = data.gridRecords;
						});
			};

			$scope.loadSegments = function() {
				return $scope.segments.length ? null : serverDataService
						.getEntityList('segment', false).then(function(data) {
							$scope.segments = data.gridRecords;
						});
			};
						
			
			$scope.loadCompanies = function() {
				return $scope.companies.length ? null : serverDataService
						.getEntityList('company', false).then(function(data) {
							$scope.companies = data.gridRecords;
						});
			};
			
			$scope.loadCostCenters = function() {
				return $scope.costCenters.length ? null : serverDataService
						.getEntityList('cost-center', false).then(function(data) {
							$scope.costCenters = data.gridRecords;
						});
			};
			
			$scope.loadStateCodes = function() {
				return $scope.geographies.length ? null : serverDataService
						.getEntityList('geography', false).then(function(data) {
							$scope.geographies = data.gridRecords;
						});
			};			
			
			
			$scope.loadElements1 = function(glElementId1) {
				return $scope.elements1.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId1).then(function(data) {
							$scope.elements1 = data.gridRecords;
						});
			};
			
			$scope.loadElements2 = function(glElementId2) {
				return $scope.elements2.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId2).then(function(data) {
							$scope.elements2 = data.gridRecords;
						});
			};

			$scope.loadElements3 = function(glElementId3) {
				return $scope.elements3.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId3).then(function(data) {
							$scope.elements3 = data.gridRecords;
						});
			};			
			
			$scope.loadElements4 = function(glElementId4) {
				return $scope.elements4.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId4).then(function(data) {
							$scope.elements4 = data.gridRecords;
						});
			};			
			
			$scope.loadElements5 = function(glElementId5) {
				return $scope.elements5.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId5).then(function(data) {
							$scope.elements5 = data.gridRecords;
						});
			};			
			
			$scope.loadElements6 = function(glElementId6) {
				return $scope.elements6.length ? null : serverDataService
						.getEntityListElement('gl-element-value', glElementId6).then(function(data) {
							$scope.elements6 = data.gridRecords;
						});
			};			
			
			$scope.accountTypes = [ {
				id : 1,
				code : 'Tipo1'
			}, {
				id : 2,
				code : 'Tipo2'
			}, {
				id : 3,
				code : 'Tipo3'
			}, {
				id : 4,
				code : 'Tipo4'
			} ];

			
			$scope.glAccounts = [ {
				id : 1,
				code : 'Tipo11'
			}, {
				id : 2,
				code : 'Tipo22'
			}, {
				id : 3,
				code : 'Tipo33'
			}, {
				id : 4,
				code : 'Tipo44'
			} ];
			
			$scope.addTrecIdMaster = function() {
				$scope.inserted = {
					id : null,
					storeCode : null,
					bankAccountNumber : null,
					accountType : null,
					trecID : null,
					entity : null,
					company : null,
					segment : null,
					costCenter : null,
					glAccount : null,
					stateCode : null,
					glEntity : null,
					element1 : null,
					element2 : null,
					element3 : null,
					element4 : null,
					element5 : null,
					element6 : null
				};
				$scope.gridRecords.push($scope.inserted);
			};

			
			  $scope.validateStoreCode = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkNumbersOnly(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateBankAccountNumber = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkNumbersOnly(columnName, data);
			    	if (msg) {return msg;}
			    };
			    $scope.validateAccountType = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    
			    $scope.validateTrecId = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateEntity = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkStringsOnly(columnName, data);
			    	if (msg) {return msg;}			    	
			    };			    
			    
			    $scope.validateCompany = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateSegment = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkNumbersOnly(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateCostCenter = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkNumbersOnly(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateGlAccount = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateStateCode = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkNumbersOnly(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateGlEntity = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    	msg = commonValidationService.checkStringsOnly(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
			    $scope.validateElement1 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateElement2 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateElement3 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateElement4 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateElement5 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };
			    
			    $scope.validateElement6 = function (columnName, data){
			    	$scope.validateCodeMsg = null;
			    	msg = commonValidationService.checkNotEmpty(columnName, data);
			    	if (msg) {return msg;}
			    };			    
			    
		} ]);